【新機能】AWS IoTのコンソールが進化。画面上からMQTTデータがテストできるようになりました。
こんにちは、せーのです。今日はとても使い勝手が良くなったAWS IoTコンソールのご紹介をします。
画面のご紹介なので実際動かしながらにしてみましょう。
やってみた
まずはマネージメントコンソールでAWS IoTを開きます。
画面右上に「MQTT Client」のリンクが増えています。これが今回ご紹介する新機能です。この機能を使うとテスト用に実機を用意したりmacにmosquittoを入れなくても、ここからMQTTデータが送信できるようになったんです。これは便利ですね!
このリンクを開いてみるとこんな画面が出てきます。
なんかフォントが可愛くなってます。右のナビを見る限りでは
- Device Gatewayにつなげて
- Subscribeを設定したり
- Publishで直接データを投げたり
- そのログをCloudWatch Logsにpublishしたり
ということがここから出来るんですね。証明書のセットとかしなくていいのは簡単でいいですね。今回は既存のRulesが適用されるようにPublishしてみたいと思います。
Device Gatewayに接続する
まずはDevice Gatewayにつなげてみましょう。
右側の[MQTT Client Actions]の下で[Device Gateway connection]が選択されているのを確認してそのまま下を見るとこのような状態になっています。ここでClientIDを直接指定するか、新しく作成すると接続することができます。今回は新しく作成してみましょう。
ClientIDが自動で入りました。このまま[connect]をクリックします。
これで接続完了です。簡単ですね。
ちなみに下に[Last will message]というチェックボックスがあります。これはMQTTの[will(遺言)]という機能を使うかどうか、を示していて、ここにチェックを入れるとこのような画面が出てきます。
これは接続が切れた時に自動的に指定されたトピックにメッセージを投げる機能です。ここにあらかじめ接続が切れたら送信するメッセージ内容とトピックを指定しておくことが出来ます。
Publishする
次にデータを投げてみましょう。ちなみに現在既存で作ってあるRuleはこのようになっています。
つまり[awsiotdemo/sapporo]というトピックに"data"という名前のデータを投げられたらS3にそのデータとトピック名をまるっとなげる、というものです。
つまり先程のMQTT Clientから[awsiotdemo/sapporo]にdataという名前でpublishしてS3にそのデータが投げられたら成功、ということです。やってみましょう。
[publish to topic]を選択するとpublish先のトピック名、メッセージ内容を書く欄が出てきますので書き込みます。[QoS]というのはメッセージが確実に届くかどうかのサービスレベルを選択するものですが、今回は特に検証の必要はないのでQoS0[投げっぱなし]でいきたいと思います。
これで[Publish]ボタンを押すと下に小さく[success]と出ます。これでデータがPublishされたようです。S3を見てみましょう。
データが入っています。見てみると
{"data":"test from management console mqtt client","topic":"awsiotdemo/sapporo"}
データが無事入ってきたようです。成功ですね。
まとめ
いかがでしたでしょうか。今までAWS IoTで意外と大変だったのが「テスト」でした。これでテストがぐっと楽になりますね。